package com.heyi.nettylong.server.listener;

import com.heyi.nettylong.common.MessageHandler;

/**
 * 暴露给外面的监听器事件
 * @author dengfeng
 * @date 2022/4/115:50
 */
public interface ChannelDataListener {

    /**
     * 权限验证
     * @param clientId 客户端ID
     * @param timesnamp 时间戳
     * @param sign 签名 sign=md5(clientId+timestamp+clientSecret）
     */
    boolean authority(String clientId, long timesnamp, String sign);

    /**
     * 接收数据
     * @param messageHandler 消息的对象
     */
    void receiveData(MessageHandler messageHandler) throws Exception;

    /**
     * 连接断开的通知
     */
    void disconnected(String clientId, Throwable cause);
}
